home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 06 - 1990 / 06.05 May 90 / PrintWindow Code / HandleTheMenus.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-03-01  |  2.3 KB  |  116 lines  |  [TEXT/KAHL]

  1. /*******************************
  2. File: HandleTheMenus
  3. ********************************/
  4. /**********************
  5. Include files
  6. ***********************/
  7. #include "String.h"
  8. #include "MyWindow.h"
  9.  
  10. /**********************
  11. Constants
  12. ***********************/
  13. #define      TRUE   1
  14. #define      FALSE  0
  15. #define      NIL    0
  16.  
  17. /**** Menus *******/
  18. #define AppleMenuID 1001
  19.     #define Item_About_PrintWindow  1
  20.     
  21. #define FileMenuID 1002
  22.     #define Item_Test_Dialog    1
  23.     #define Item_Page_Setup    2
  24.     #define Item_Print  3
  25.     #define Item_Quit  5
  26.  
  27. #define EditMenuID 1003
  28.  
  29. /**********************
  30. Globals
  31. ***********************/
  32. MenuHandle   AppleMenu;
  33.  
  34. /**********************
  35. InitMyMenus() initializes my menus
  36. ***********************/
  37. void InitMyMenus()
  38. { /* InitMyMenus() */
  39. MenuHandle   tempMenu;
  40.  
  41. ClearMenuBar();
  42.  
  43. /* Apple menu */
  44. tempMenu = GetMenu(AppleMenuID);
  45. InsertMenu (tempMenu,0);
  46. AddResMenu(tempMenu,'DRVR');
  47. AppleMenu = tempMenu;
  48.  
  49. /* File menu */
  50. tempMenu = GetMenu(FileMenuID);
  51. InsertMenu (tempMenu,0);
  52.  
  53. /* Edit menu */
  54. tempMenu = GetMenu(EditMenuID);
  55. InsertMenu (tempMenu,0);
  56.  
  57. DrawMenuBar();
  58. } /* InitMyMenus() */
  59.  
  60. /**********************
  61. HandleMenu() Handles menu selections
  62. ***********************/
  63. void HandleMenu(doneFlag,theMenu,theItem,theInput)
  64. char     *doneFlag;
  65. short   theMenu,theItem;
  66. TEHandle   *theInput;
  67. { /* HandleMenu() */
  68. GrafPtr   SavePort; 
  69. Str255    DAName; 
  70. short     DNA; 
  71. char      BoolHolder; 
  72.  
  73. switch (theMenu) {
  74.     case AppleMenuID: /* Apple Menu */
  75.         switch (theItem) {
  76.             case Item_About_PrintWindow:
  77.                 D_About(); /* Do "About" box */
  78.                 break;
  79.             default:
  80.                 GetPort(&SavePort); /* Handle DA */
  81.                 GetItem(AppleMenu, theItem, &DAName);
  82.                 DNA = OpenDeskAcc(DAName);
  83.                 SetPort(SavePort);
  84.                 break;
  85.             }
  86.         break;
  87.  
  88.     case FileMenuID: /* File Menu */
  89.         switch (theItem) {
  90.             case Item_Test_Dialog:
  91.                 D_TestDialog(); /* Do "Test" Dialog */
  92.                 break;
  93.             case Item_Page_Setup:
  94.                 doPageSetUp(); /* Do Page Setup */
  95.                 break;
  96.             case Item_Print:
  97.                 PrintWindow(FrontWindow()); /* Print Window */
  98.                 break;
  99.             case Item_Quit:
  100.                 *doneFlag = TRUE; /* flag for quitting */
  101.                 break;
  102.             default:
  103.                 break;
  104.             }
  105.         break;
  106.  
  107.     case EditMenuID: /* Edit Menu */
  108.         BoolHolder = SystemEdit (theItem - 1); /* Send to DA */
  109.         break;
  110.  
  111.     default:
  112.         break;
  113.     }
  114.  
  115. HiliteMenu(0);
  116. } /* HandleMenu() */